Testing and Debugging Concurrency Bugs in Event-Driven Programs

نویسندگان

  • Guy Martin Tchamgoue
  • Kyong-Hoon Kim
  • Yong-Kee Jun
چکیده

Event-driven programs are prone to concurrency bugs due their inherent nature of handling asynchronous events. Asynchronous events introduce logical concurrency into these programs making them hard to be thoroughly tested and debugged. However, understanding the root causes and characteristics of concurrency bugs can ease the debugging process and help developers to avoid introducing them. Unfortunately, previous taxonomies on concurrency bugs do not provide enough knowledge on event-driven concurrency bugs. This paper classifies the event-driven program models into low and high level according to the type of events they handle, categorizes concurrency bug patterns and surveys existing techniques to detect them in event-driven programs.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

RADBench: A Concurrency Bug Benchmark Suite

Testing and debugging tools for concurrent programs are often validated on known bugs. To aid the development of these tools, we present the Race, Atomicity, and Deadlock Benchmark (RADBench) suite. The RADBench suite contains the full source of 10 real concurrency bugs found in large open-source software projects including Mozilla SpiderMonkey, Mozilla NSPR, Memcached, Apache Web Server, and G...

متن کامل

A Study of Concurrency Bugs and Advanced Development Support for Actor-based Programs

The actor model is an attractive foundation for developing concurrent applications because actors are isolated concurrent entities that communicate through asynchronous messages and do not share state. Thus, they avoid common concurrency bugs such as data races. However, they are not immune to concurrency bugs in general. This paper studies concurrency bugs in actor-based programs reported in l...

متن کامل

A Study of Concurrency Bugs in an Open Source Software

Concurrent programming puts demands on software debugging and testing, as concurrent software may exhibit problems not present in sequential software, e.g., deadlocks and race conditions. In aiming to increase efficiency and effectiveness of debugging and bug-fixing for concurrent software, a deep understanding of concurrency bugs, their frequency and fixing-times would be helpful. Similarly, t...

متن کامل

Bugs and Debugging of Concurrent and Multicore Software

Multicore platforms have been widely adopted in recent years and have resulted in increased development of concurrent software. However, concurrent software is still difficult to test and debug for at least three reasons. (1) concurrency bugs involve complex interactions among multiple threads; (2) concurrent software have a large interleaving space and (3) concurrency bugs are hard to reproduc...

متن کامل

Special Issue: Parallel and Distributed Systems: Testing and Debugging (PADTAD)

In conferences dedicated to concurrency, there is a lot of interest in our tutorials on software testing and review of concurrent software. People come to the tutorial because they know that to get their system to work they need to deal with nasty concurrency bugs such as races and deadlocks.Whilst everyone, both in the industry and academia, acknowledge that the topic of concurrency testing is...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012